§ 1.1 Field of the Invention
The present invention concerns multicasting data. More specifically, the present invention concerns enabling a mobile node to move between foreign access nodes (e.g., routers) while maintaining the ability to source and receive multicast data.
§ 1.2 Background of the Invention
§ 1.2.1 Introduction to Communications Networks, such as those Supporting the Internet Protocol
Many communications networks are made up of interconnected nodes (referred to as “routers” in the specification below without loss of generality) for forwarding addressed data (referred to as “packets” in the specification below without loss of generality). The routers may be geographically distributed throughout a region and connected by links (e.g., optical fiber, copper cable, wireless transmission channels, etc.). In such a network, each router typically interfaces with (e.g., terminates) multiple input links and multiple output links. Packets traverse the network by being forwarded from router to router until they reach their destinations (as typically specified in so-called layer-3 addresses in the packet headers). Unlike switches, which establish a connection for the duration of a “call” or “session” to send data received on a given input port out on a given output port, routers determine the destination addresses of received (ingress) packets and, based on these destination addresses, determine, in each case, the appropriate output link on which to send them. The address of the next node (layer 2 address) is often referred to as a “next hop” address. The interface terminating the particular output link may be referred to as a “next hop” interface. Since, unlike switches, routers are not connection-based—packets having the same destination address may actually traverse different paths through the network.
§ 1.2.2 Introduction to Multicasting and IP Multicasting Protocols
Multicasting allows instances (or copies) of data from a single source to be provided to multiple destinations. Such data may be provided as datagrams, and such datagrams may be sent over a network supporting the Internet protocol (“IP”). For example, IP multicast enables a packet addressed to a multicast group destination address to be replicated and delivered within an internet routed infrastructure, to multiple receiving hosts. The multicast enables routers to compare the received multicast packets to a multicast forwarding table and send a copy of the received packet out to all the interfaces named in that multicast forwarding table down which there are presently multicast receivers. Typically, multicast routing protocols build a “dynamic delivery tree” to connect sender(s) to the receivers.
Multicast routers typically employ “reverse path forwarding” (“RPF”) checks to arriving multicast packets. Using the RPF check, a router compares the interface on which a multicast packet arrives to an outgoing interface that would be used, in accordance with unicast routing, were the router to forward data to the multicast sender (as identified by the source address field of the multicast packet). If these interfaces are not the same, then the multicast packet should be dropped (since it presumably arrived on an incorrect interface). This RPF check is used to prevent routing loops.
An example of a multicast routing protocol is described in the document D. Estrin et al., “Protocol Independent Multicast-Sparse Mode (PIM-SM): Protocol Specification,” Request for Comments: 2362, (The Internet Society. June 1998) (hereafter referred to as “RFC 2362”, “PIM”, or “PIM-SM”, and incorporated herein by reference). RFC 2362 uses signaling defined in the document W. Fenner, “Internet Group Management Protocol, Version 2”, Request for Comments: 2236, (The Internet Society. November 1997) (hereafter referred to as “RFC 2236” or “IGMP” or “IGMPv2” and incorporated herein by reference). Note that IGMP v2 is being superceded IGMPv3 and other similar multicast membership protocols exist. Basically, under RFC 2362, hosts join and leave multicast groups by first sending IGMP “Group Membership Reports” (“GMRs”) to the access router which is acting as the IGMP Querier which is known in PIM as the “Designated Router”. The access router converts the IGMP messages into “PIM JOIN” messages (or equivalent messages for other multicast protocols). A host that is a member of a multicast group may both send and receive multicast on that group. A non-group member host (that has not sent an IGMP report) may also send to a multicast group, but non-member hosts will not receive multicast packets from other senders to that group.
In PIM, the reception of new IGMP Reception reports for new groups, causes the Designated Router (“DR”) to join towards the new multicast group by joining either to the multicast group via a “shared multicast tree”, or to the sender via a “sender-specific tree”. In a shared multicast tree, the originator first sends the multicast packets to the root of the tree (referred to as the Rendezvous Point (“RP”) in PIM). The root (e.g., RP) then forwards the packets down the tree to the group receivers. In PIM, the receivers join (the multicast group) towards the IP address of the rendezvous point and intermediate routers aggregate the joins up the tree towards the root such that only one join per group per link is generated. On the other hand, in a source specific tree, the receivers simply join (the multicast group) towards the source or originator of the multicast stream (which is identified by the source address of the multicast packets in the stream).
The reverse path forwarding (RPF) check on the PIM source-specific tree is towards the unicast address in the source address of the multicast packet. The RPF check in PIM and other shared trees, between the receiver and the root of the tree, is done towards the address of the root of the shared tree (i.e., the Rendezvous Point) rather than to the source address of the multicast packet. This is because the multicast packets should only be received via the rendezvous point (RP)—not directly from the sender. The RPF check between the sender and the RP is still on the sender address because this part of the tree is sender specific.
Multicast receivers in PIM receive packets down a unidirectional tree from either the rendezvous point (RP) or the sender. In contrast, multicast packets sent to a designated router (DR) are first sent to the top of the unicast receivers tree, this tree being either (a) the DR for a sender tree, requiring no additional action, or (b) the RP which does require additional action. Initially, in case of the packets being sent to the RP, the DR uses a PIM Register message to encapsulate the multicast data, and then sends the Register message to the RP. The RP then de-encapsulates the multicast data and forwards it down the shared tree to the receivers. The RP can then send a source specific PIM JOIN back towards the originator(s) DR, that sent the Register message, based on the contents of the Register message and configuration in the RP, this typically being designed to trigger a PIM JOIN back towards high data rate sources. The PIM JOIN arrives at the DR which causes data packets to be sent both natively and via Register messages to the RP. Consequently, while messages are received natively at the RP, the RP sends Register Stop messages periodically back to the DR to suppress Register messages. Register messages restart if Register Stops are no longer received at the DR for a certain period of time.
§ 1.2.3 Mobile Nodes and IP Mobility
Although most of the hosts that use the Internet, or some other IP network, access the network at consistent access points during a session, mobile nodes, such as cellular telephones, wireless computing devices and personal assistants for example, may also want to access an IP network while it moves from different access points of the IP network. The document, C. Perkins, “IP Mobility Support for IPv4”, Request for Comments: 3220, (The Internet Society, January 2002) (hereafter referred to as “RFC 3220” or “MIP”, and incorporated herein by reference) describes a protocol for enabling a moving Internet host to connect to an access router in a foreign network, containing a Foreign Agent (“FA”), yet still be contactable on its persistent Host Home Address (HoA) that it uses on its home network and is likely contained in the DNS system. This is possible because the FA gives the host a temporary local address that is either (a) unique to the host—dubbed a “Co-located Care of Address” (CCoA), or (b) unique to the FA and shared by multiple hosts at that FA—dubbed a “Care of Address” (CoA). The CCoA or CoA is registered back on the home network into a Home Agent (“HA”) and the HA tunnels (encapsulation) arriving packets destined for the HoA towards the mobile Host address (CCOA) or the FA address (CoA) which respectively detunnel the packet and deliver the packet to the HoA of the mobile Host. In the case of CcoA, the host itself detunnels the packet. In the case of the FA CoA, the FA detunnels the packet.
MIP mentions two methods for a mobile node (“MN”) to obtain multicast service. The first mobile multicast method uses the multicast routing capabilities of the home agent (HA) and home network multicast system. Thus, this first mobile multicast method is referred to as “home network multicast”. The second mobile multicast method uses the multicast routing capabilities of the foreign agent (FA) and the foreign network multicast system. Thus, this second mobile multicast method is referred to as “foreign network multicast. These mobile multicast methods are described in more detail below.
§ 1.2.3.1 MIP Home Network Multicast
MIP home network multicast signaling is reviewed in § 1.2.3.1.1. Then, MIP home network multicast data transport is reviewed in § 1.2.3.1.2.
§ 1.2.3.1.1 MIP Home Network Multicast—Signaling
With MIP's home network multicast, a multicast router on the home subnet acts as the IGMP Querier and the same or another multicast router acts as the Designated Router (DR). With regard to multicast signaling, the IGMP Querier issues IGMP General and Group Specific Queries onto the subnet using the all-systems multicast group (224.0.0.1). Since the Home Agent (HA) is a member of the all-systems group on the home subnet, it receives the IGMP messages from the IGMP Querier. If a mobile node (MN) has an active registration with the home agent (HA) and that registration has the ‘B’ bit set (meaning forward broadcast traffic), then the HA can forward the IGMP Query to the MN via the registered CoA. If the MN is using a CCoA, then the HA encapsulates the IGMP message from the HA address to the CCoA. This packet is sent directly to the MN which de-encapsulates it to reveal the IGMP message. If the MN is using a foreign agent (FA) CoA, then the HA first encapsulates a packet from the HA address to the HoA of the MN, and then additionally encapsulates from the HA address to the FA CoA. When this double encapsulated packet is received and the outer encapsulation is de-encapsulated by the FA, the inner encapsulation enables the FA to correctly identify the target MN from the HoA and to unicast the encapsulated broadcast packet to the MN over the access subnet.
The mobile node (MN) also originates IGMP Membership Reports and sends these back to the home subnet via the home agent (HA) to be received by both the IGMP Querier, and other members of the all-systems multicast group on the home subnet. More specifically, the IGMP messages are sent from the MN host home address (HoA) to the all-systems or all-multicast routers multicast addresses. They are then encapsulated, by the MN, with the HoA source address and the HA destination address. If the MN has selected “reverse tunneling”, then the MN can alternatively use the Encapsulating Delivery Style (EDS) and instead tunnel to the foreign agent (FA) first, which can then tunnel the packet to the HA identified in the visitor list for the source HoA.
Note that when the mobile node (MN) is either sending or receiving home network IGMP messages, whether tunneled directly or via the foreign agent (FA), the FA does not manage IGMP state for the mobile node (MN). Instead, such IGMP state is fully managed by the home agent (HA) and MN. (There is an opportunity for the FA to track group memberships however by snooping the tunneled IGMP messages.)
Once a MN is undertaking IGMP message exchanges, it can then receive and source multicast traffic. This is described in § 1.2.3.1.2 below.
§ 1.2.3.12 MIP Home Network Multicast—Data Transport
To receive multicast traffic, the mobile node (MN) sends an IGMP Membership report towards the home agent (HA) which forwards it, after de-encapsulation, to the Home subnet and the IGMP Querier on that subnet. This causes multicast traffic for that group to be forwarded onto the subnet (if not already present) and the HA to encapsulate the multicast traffic to all MNs with membership of that group, and specifically to the MN that sent the IGMP Membership Report. When the MN is using a FA CoA, multicast forwarding is achieved by the HA encapsulating the multicast packets, from its HA address to the host home address (HoA) of the MN, and then further encapsulating the result from the HA address to the foreign agent (FA) CoA. The FA then removes the outer encapsulation before forwarding the result to the MN. The MN then removes the inner HoA encapsulation to reveal the multicast datagram. If, on the other hand, the MN is using a CCoA then the HA simply needs to encapsulate the multicast packet from the HA address to the CCoA which avoids the need for the double encapsulation.
To send multicast traffic, the mobile node (MN) can be either a member or a nonmember of the destination group. In either case, the MN will send the multicast packet from its host home address (HoA) to the group address and then additionally encapsulate the packet from the HoA to the home agent (HA) address (with EDS or without reverse tunneling), or from the HoA to the foreign agent (FA) CoA (with EDS reverse tunneling). In the latter case, the FA then adds the encapsulation from the FA address to the HA address as is normal with reverse tunneling.
§ 1.2.3.2 MIP Foreign Network Multicast
MIP foreign network multicast signaling is reviewed in § 1.2.3.2.1. Then, MIP foreign network multicast data transport is reviewed in § 1.2.3.2.2.
§ 1.2.3.2.1 MIP Foreign Network Multicast—Signaling
To use foreign network multicast, the mobile node (MN) must be able to receive IGMP Queries sent by the IGMP Querier on the foreign subnet of the MN. In general, there will be more than one access router on the subnet, one of which contains the foreign agent (FA) for this MN. The FA, or another router, acts as a multicast router, and either can act as the IGMP Querier. Typically, the FA, the IGMP Querier and Designated Router will be in the same access router that the MN uses for foreign access services. The IGMP Queries are then sent from the FA address to the all-systems multicast group. The MN responds to Queries by replying from either its CCoA (if it has one) or its host home address (HoA), to the appropriate multicast group.
§ 1.2.3.2.2 MIP Foreign Network Multicast—Data Transport
To receive multicast traffic, the mobile node (MN) will have sent an IGMP membership report for the required group to the all-systems multicast group. This membership report is received by the IGMP Querier which injects the required group into the multicast routing protocol. Arriving multicast packets for that group are sent onto the foreign subnet and are received by member MNs, including the MN that sent the Membership report.
To send multicast traffic, either as a member or non-member sender, the mobile node (MN) issues multicast packets from its CCoA. If an MN does not have a CCoA, the present MIP foreign network multicast protocols do not allow the MN to originate multicast traffic. More specifically, RFC3220 states that mobile hosts that wish to be multicast senders should use its (CCoA), but may use its host home address (HoA) as the source address in IGMP messages, but must only use a CCoA to originate multicast packets into the foreign multicast routing. RFC 3220 only permits an MN to use CCoA when originating multicast packets for foreign network multicast because the source address of the multicast packet must be topologically correct (i.e., not an address from another part of the Internet) to enable the multicast packet to pass reverse path forwarding (RPF) checks. Since the CCoA is a topologically correct address at the FA, a multicast packet with a CCoA source would pass RPF checks in the foreign multicast routing. If the MN were to use its HoA as a multicast source address in the foreign network, such multicast packets would clearly not pass the RPF check because the multicast routing protocol would expect the multicast packets to arrive on interfaces pointing towards the home agent (HA) and not the MN access links on the foreign agent (FA). Consequently, MIP limits foreign network multicast to only those circumstances where the MN has a CCoA.
§ 1.2.4 Unmet Needs
Typically, when MIP is used in wireless systems, the mobile node (MN) employs a foreign agent (FA) CoA. Unfortunately, this prevents the MN from generally being a multicast sender on the foreign network. This is disadvantageous because multicast via the foreign network avoids the tunnels to and from the home agent (HA) which occur when home network multicasting is used. Note that the tunnel from the sender to the HA is less important because in typical multicast protocols the sender is on a sender specific tree to the root of the tree and on any specific HA there are typically only a small number of senders and all traffic from the senders is unique. However, the tunnels from multiple HAs to the FA for the same multicast group are of concern because each tunnel will contain copies of the same sequence of packets. The aim of multicast is to ensure only one copy of each packet traverses any link in the internet which can clearly not be achieved when MIP tunnels are involved. The size of the problem, compared to the case of the tunnel to the HA, is also magnified due to the fact that typical multicast groups will have significantly more receivers than senders (much like broadcast TV where one content producer (sender) feeds content to large numbers of TV sets (receivers)). Therefore, the more popular a particular piece of content on a multicast group becomes, the more likely that multiple MN receivers will be on the same FA. Consequently, the possibility of duplication of packets, and the scale of wasted bandwidth resources, will increase. Moreover, and perhaps more problematic, this limitation of MIP also denies the operator of the foreign network the ability to offer multicast services to roaming MNs (which would be particularly useful for operator specific content and for commodity (low value) Internet multicast content).
Even if the mobile node (MN) has a CCoA, using this as the source address for multicast packets from a moving (or roaming) MN is problematic since the CCoA may continuously change as the MN moves from one access node (and FA) to another. As a practical matter, the CCoA can only be used if the MN will be using that address for the entirety of the multicast session. Consequently, if the MN and the foreign multicast routing system aren't certain, in advance, that the MN will not need to change its CCoA during a desired multicast session, the home multicast system must be used.
These problematic limitations of MIP are believed to be due to a lack of foresight when MIP was being designed. More specifically, MIP was originally designed assuming that a mobile host would temporarily move to a foreign network for a period of time, and then return home, as would be the case with a traveling salesman moving between customer premises, or a teleworker moving between the home network and the corporate network. Rapid movement of a mobile host between foreign access routers was not really envisaged. In this ‘limited roaming’ usage assumption, the use of the CCoA is fine because the CCoA, which is allocated and owned by the foreign agent (FA) subnet, is stable for the period of that the mobile host visits the foreign subnet. The source specific multicast routing state in multicast routing protocols is therefore stable—the routing state is always using the same source address for source specific forwarding and the RPF check.
However, apart from its original “limited roaming” usage assumptions, MIP is now being applied to wireless, and specifically cellular, systems. Under such usage scenarios, the CCoA changes at every hand-off (of the mobile host) between foreign agent (FA) access routers. This is because the CCoA must be a topologically correct address at each FA. Each hand-off causes the multicast source address to change, which will confuse the applications at the multicast receivers because the sender address is used during demultiplexing and presentation. Each hand-off will also force the receiving hosts, IGMP and multicast routing to regenerate sender specific multicast join messages for the new source address, and update the associated source specific routing state in the network elements. Finally, receiving applications that are only “listening” to specific senders on a multicast group need to discover sender address change and reconfigure so that they continue to receive only the required packets and do not loose any packets during the address changes. The faster the hand-off, the worse is the confusion, message processing overhead, messaging bandwidth and the overall quality of the multicast packet delivery system. It is believed that the foreign multicast system would effectively be rendered inoperable by these effects. This would effectively force multicast to always be delivered, more expensively, via the home agent (HA) (by using the stable HoA as a source address and tunneling the packets back to the HA where the RPF checks can succeed, and on into the Internet multicast routing system). This tunneling approach could potentially cause multicast intended for local recipients in the foreign domain to have to traverse to the HA at a Home Network on a different continent. Having to send packets via the HA would then also force the MN to also have to receive multicast via the home network and the HA, leading to the significant bandwidth inefficiencies that this entails.
Mobile IP version 6 is a development of Mobile IP for IP version 6 networks and shares many of the design features of MIPv4 and the subsequent multicast problems. In MIPv6, there are no foreign agents (FAs) or FA CoAs, but the access router can contain a mobility attendant. The mobile node (MN) has a CCoA and again this CCoA changes on each hand-off automatically. Therefore, since the CCoA is used as a multicast source address, the problems for the multicast router and sender/receiver applications described above persist. Like MIPv4 which uses the FA to undertake these tasks, MIPv6 uses the mobility attendant to undertake these tasks. Where the MIPv4 solution relies on the state of specific MIP Registration signaling bits so equivalent bits are required and interpreted in MIPv6.
Therefore, there is a need to permit a mobile host to roam in a foreign network, with multiple access node handoffs, while permitting foreign network multicasting.